<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libCZI: Image Document Concept</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libCZI
   </div>
   <div id="projectbrief">Reading CZI documents made easy</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('imagedocumentconcept.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Image Document Concept </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h2>General concepts</h2>
<p>The sub-blocks contained in a CZI-file are conceptually organized as follows:</p>
<ul>
<li>Sub-blocks reside in different "planes", where a plane is given by the discrete coordinates 'Z', 'C', 'T' or 'V'.</li>
<li>Each sub-block has an X-Y coordinate (and a width and height) in a 2D-coordinate system (which is common to all planes).</li>
<li>Sub-blocks contain images which can be thought to fill an axis-aligned rectangle (specified by its X and Y coordinate, and its width and height).</li>
<li>In addition, a sub-block may have a logical size which is different from its physical size (also called a "zoom").</li>
</ul>
<div class="image">
<img src="image_document_concept1.PNG" alt="image_document_concept1.PNG"/>
<div class="caption">
sub-blocks on a plane</div></div>
 The case where we have different planes in one document is depicted here:</p>
<div class="image">
<img src="image_document_concept2.PNG" alt="image_document_concept2.PNG"/>
<div class="caption">
sub-blocks on different planes</div></div>
 Note that:</p><ul>
<li>The X-Y positions of sub-blocks on different planes can be different (i. e. same Z-index, same T-index and same M-index does not imply that X and Y is the same for all C-indices). Even the number of sub-blocks on different planes can be different.</li>
<li>The bounding box is defined to contain all sub-blocks on all planes.</li>
<li>The 2D-coordinate system is common to all planes.</li>
<li>Sub-blocks can be overlapping.</li>
</ul>
<h2>Dimensions</h2>
<p>Each sub-blocks is labeled by a set of coordinates in different dimensions (the term "dimension" is used very loosely in the following discussion). <br />
We have already met the dimensions 'Z', 'C', 'T' and 'V' which are used to label different planes. In addition to them, a couple of more dimensions are in use:</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">dimension  </th><th class="markdownTableHeadNone">meaning  </th><th class="markdownTableHeadNone">comment --------&mdash;   </th></tr>
<tr class="markdownTableBody" class="markdownTableRowOdd">
<td class="markdownTableBodyNone">Z  </td><td class="markdownTableBodyNone">z-focus  </td><td class="markdownTableBodyNone">plane is from a different Z-plane   </td></tr>
<tr class="markdownTableBody" class="markdownTableRowEven">
<td class="markdownTableBodyNone">C  </td><td class="markdownTableBodyNone">channel  </td><td class="markdownTableBodyNone">different modality   </td></tr>
<tr class="markdownTableBody" class="markdownTableRowOdd">
<td class="markdownTableBodyNone">T  </td><td class="markdownTableBodyNone">time  </td><td class="markdownTableBodyNone">different point in time   </td></tr>
<tr class="markdownTableBody" class="markdownTableRowEven">
<td class="markdownTableBodyNone">H  </td><td class="markdownTableBodyNone">phase  </td><td class="markdownTableBodyNone">distinguishes the different phases in a SIM-acquisition (structured illumination microscopy)   </td></tr>
<tr class="markdownTableBody" class="markdownTableRowOdd">
<td class="markdownTableBodyNone">I  </td><td class="markdownTableBodyNone">illumination  </td><td class="markdownTableBodyNone">different directions of illumination (used in SPIM-acquisition)   </td></tr>
<tr class="markdownTableBody" class="markdownTableRowEven">
<td class="markdownTableBodyNone">V  </td><td class="markdownTableBodyNone">view  </td><td class="markdownTableBodyNone">used in SPIM for different views   </td></tr>
</table>
<p>'H' and 'I' have the character of an attribute in the sense that sub-blocks which differ only in the 'H' (or 'I') coordinate must have the same X-Y-position in order to be meaningfull.</p>
<p>There is also the letter 'M' in use for a dimension, but it has a somewhat different meaning. It is used in order to enumerate all tiles in a plane. I. e. all planes in a given plane shall have an M-index, and this M-index starts counting from zero to the number of tiles on that plane. The counting starts from zero for all different planes (and scenes). Tiles from different planes which differ in C are expected to have the same M-index (and, usually have the same X-Y-coordinate, but there are cases where the X-Y-coordinates are not exactly identical).</p>
<p>And we have the letter 'S' in use, and it is used in the following way: sub-blocks with the same S-index form a set called "scene". A scene is a rectangular (and axis aligned) region, and much like the bounding box, it is determined by taking all planes into consideration.</p>
<div class="image">
<img src="image_document_concept3.PNG" alt="image_document_concept3.PNG"/>
<div class="caption">
concept of scenes</div></div>
 One restriction applies to scenes: scenes <b>may</b> overlap, but sub-blocks (on pyramid-layer 0) belonging to different scenes <b>must not</b> overlap.</p>
<div class="image">
<img src="image_document_concept4.PNG" alt="image_document_concept4.PNG"/>
<div class="caption">
sub-block from different scenes must not overlap</div></div>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
